home *** CD-ROM | disk | FTP | other *** search
/ Power Tools for Macintosh / Power Tools for Macintosh (SoftBit)(1992).iso / Applications / Alpha 4.01 / LaTeX / Wright Macros / BibTeX-Macros next >
Text File  |  1991-08-30  |  5KB  |  352 lines

  1. ;=============BibTeX macros =====================================
  2. ; This file implements all of the entries and fields required by
  3. ; the standard BibTeX styles, as specified in the document 
  4. ; "BibTeXing" by Oren Patashnik, my copy dated 8 February 1988.
  5. ;                                David A. Wright
  6. ;                                (D.A.Wright@cs.utas.edu.au)
  7. ; Please feel free to modify this file to suit your own purposes,
  8. ; but do please share any improvements with me!
  9. ; DISCLAIMER: I make no guarantee about the correctness of these 
  10. ; macros. They work for me under Alpha 4.0b2.
  11. ;===============================================================
  12.  
  13. ;===============================================================
  14. ; Some misc. macros.
  15.  
  16. (define prevField
  17.     3 backwardChar
  18.     set forward 0
  19.     search "="
  20.     2 forwardChar
  21. )
  22. (define nextField
  23.     set forward 1
  24.     search "="
  25.     2 forwardChar
  26. )
  27. (define    bibQuotes
  28.     putascii 34
  29.     putascii 34
  30.     backwardChar
  31. )
  32.  
  33. ;==============================================================
  34. ; These macros capture some common behaviour
  35. (define startField
  36.     beginningOfLine
  37.     doTab
  38. )
  39. (define endField
  40.     putascii 34
  41.     putascii 34
  42.     type ","
  43.     carriageReturn
  44. )
  45.  
  46. ;==============================================================
  47. ; The following macros define the fields used to build up the 
  48. ; entries.
  49.  
  50. (define address
  51.     startField
  52.     type "address = "
  53.     endField
  54. )
  55. (define annote
  56.     startField
  57.     type "annote = "
  58.     endField
  59. )
  60. (define author
  61.     startField
  62.     type "author = "
  63.     endField
  64. )
  65. (define booktitle
  66.     startField
  67.     type "booktitle = "
  68.     endField
  69. )
  70. (define chapter
  71.     startField
  72.     type "chapter = "
  73.     endField
  74. )
  75. (define crossref
  76.     startField
  77.     type "crossref = "
  78.     endField
  79. )
  80. (define edition
  81.     startField
  82.     type "edition = "
  83.     endField
  84. )
  85. (define editor
  86.     startField
  87.     type "editor = "
  88.     endField
  89. )
  90. (define howpublished
  91.     startField
  92.     type "howpublished = "
  93.     endField
  94. )
  95. (define institution
  96.     startField
  97.     type "institution = "
  98.     endField
  99. )
  100. (define journal
  101.     startField
  102.     type "journal = "
  103.     endField
  104. )
  105. (define key
  106.     startField
  107.     type "key = "
  108.     endField
  109. )
  110. (define month
  111.     startField
  112.     type "month = "
  113.     endField
  114. )
  115. (define note
  116.     startField
  117.     type "note = "
  118.     endField
  119. )
  120. (define number
  121.     startField
  122.     type "number = ,"
  123.     carriageReturn
  124. )
  125. (define organization
  126.     startField
  127.     type "organization = "
  128.     endField
  129. )
  130. (define pages
  131.     startField
  132.     type "pages = "
  133.     putascii 34
  134.     type "--"
  135.     putascii 34
  136.     type ","
  137.     carriageReturn
  138. )
  139. (define publisher
  140.     startField
  141.     type "publisher = "
  142.     endField
  143. )
  144. (define school
  145.     startField
  146.     type "school = "
  147.     endField
  148. )
  149. (define series
  150.     startField
  151.     type "series = "
  152.     endField
  153. )
  154. (define title
  155.     startField
  156.     type "title = "
  157.     endField
  158. )
  159. (define typeOf
  160.     startField
  161.     type "type = "
  162.     endField
  163. )
  164. (define volume
  165.     startField
  166.     type "volume = ,"
  167.     carriageReturn
  168. )
  169. (define year
  170.     startField
  171.     type "year = 19,"
  172.     carriageReturn
  173. )
  174. ;=============================================================
  175. ; These macros define the BibTeX entries.
  176. (define article 
  177.     type "@article(,"
  178.     carriageReturn
  179.     author
  180.     title
  181.     journal
  182.     year
  183.     type ")"
  184.     carriageReturn
  185.     6 previousLine
  186.     endOfLine
  187.     backwardChar
  188. )
  189. (define book
  190.     type "@book(,"
  191.     carriageReturn
  192.     author
  193.     editor
  194.     title
  195.     publisher
  196.     year
  197.     type ")"
  198.     carriageReturn
  199.     7 previousLine
  200.     endOfLine
  201.     backwardChar
  202. )
  203. (define booklet
  204.     type "@booklet(,"
  205.     carriageReturn
  206.     title
  207.     author
  208.     howpublished
  209.     type ")"
  210.     carriageReturn
  211.     5 previousLine
  212.     endOfLine
  213.     backwardChar
  214. )
  215. (define conference
  216.     inProceedings
  217. )
  218. (define inBook
  219.     type "@inBook(,"
  220.     carriageReturn
  221.     author
  222.     editor
  223.     title
  224.     chapter
  225.     pages
  226.     publisher
  227.     year
  228.     type ")"
  229.     carriageReturn
  230.     9 previousLine
  231.     endOfLine
  232.     backwardChar
  233. )
  234. (define inCollection
  235.     type "@inCollection(,"
  236.     carriageReturn
  237.     author
  238.     title
  239.     booktitle
  240.     publisher
  241.     year
  242.     type ")"
  243.     carriageReturn
  244.     7 previousLine
  245.     endOfLine
  246.     backwardChar
  247. )
  248. (define inProceedings
  249.     type "@inProceedings(,"
  250.     carriageReturn
  251.     author
  252.     title
  253.     booktitle
  254.     year
  255.     type ")"
  256.     carriageReturn
  257.     6 previousLine
  258.     endOfLine
  259.     backwardChar
  260. )
  261. (define manual
  262.     type "@manual(,"
  263.     carriageReturn
  264.     title
  265.     author
  266.     organization
  267.     year
  268.     type ")"
  269.     carriageReturn
  270.     6 previousLine
  271.     endOfLine
  272.     backwardChar
  273. )
  274. (define mastersThesis
  275.     type "@mastersThesis(,"
  276.     carriageReturn
  277.     author
  278.     title
  279.     school
  280.     year
  281.     type ")"
  282.     carriageReturn
  283.     6 previousLine
  284.     endOfLine
  285.     backwardChar
  286. )
  287. (define phdThesis
  288.     type "@phdThesis(,"
  289.     carriageReturn
  290.     author
  291.     title
  292.     school
  293.     year
  294.     type ")"
  295.     carriageReturn
  296.     6 previousLine
  297.     endOfLine
  298.     backwardChar
  299. )
  300. (define misc
  301.     type "@misc(,"
  302.     carriageReturn
  303.     type ")"
  304.     carriageReturn
  305.     2 previousLine
  306.     endOfLine
  307.     backwardChar
  308. )
  309. (define proceedings
  310.     type "@proceedings(,"
  311.     carriageReturn
  312.     title
  313.     year
  314.     type ")"
  315.     carriageReturn
  316.     4 previousLine
  317.     endOfLine
  318.     backwardChar
  319. )
  320. (define techReport
  321.     type "@techReport(,"
  322.     carriageReturn
  323.     author
  324.     title
  325.     institution
  326.     year
  327.     number
  328.     type ")"
  329.     carriageReturn
  330.     7 previousLine
  331.     endOfLine
  332.     backwardChar
  333. )
  334. (define unpublished
  335.     type "@unpublished(,"
  336.     carriageReturn
  337.     author
  338.     title
  339.     note
  340.     type ")"
  341.     carriageReturn
  342.     5 previousLine
  343.     endOfLine
  344.     backwardChar
  345. )
  346.  
  347. ;=========== Useful key bindings ============================
  348.  
  349. (bind    '\4e'  prevField)
  350. (bind    '\45'  nextField)
  351. (bind    '\27' <s> bibQuotes)
  352.